18d0ee619be0e913919b55aacc11512a2a95af6b,java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java,MethodReferenceResolver,inferTypeArgumentsFromInterfaceMethod,#MethodSignature#PsiType#PsiMethod#PsiSubstitutor#LanguageLevel#,431

Before Change


        psiSubstitutor = psiSubstitutor.putAll(resolveHelper.inferTypeArguments(method.getContainingClass().getTypeParameters(), types, rightTypes, languageLevel));
      }
      if (!PsiUtil.isRawSubstitutor(method, substitutor)) {
        psiSubstitutor = psiSubstitutor.putAll(substitutor);
      }
      return LambdaUtil.inferFromReturnType(method.getTypeParameters(),
                                            method.getReturnType(),

After Change


        } else if (types.length > rightTypes.length) {
          psiSubstitutor = getSubstitutor(types[0]);
        }
        if (psiSubstitutor != null) {
          return substitutor.putAll(psiSubstitutor);
        }
      } else {
        if (rightTypes.length != types.length || rightTypes[rightTypes.length - 1].getArrayDimensions() != types[types.length-1].getArrayDimensions()) {